// 该文件专门用于创建整个应用的路由器
import VueRouter from "vue-router";
import AboutPage from "@/pages/AboutPage.vue";
import HomePage from "@/pages/HomePage.vue";
import HomeNews from "@/pages/HomeNews.vue";
import HomeMessage from "@/pages/HomeMessage.vue";
import DetailPage from "@/pages/DetailPage.vue";

// 创建并暴露一个路由器
export default new VueRouter({
    routes:[
        {
            name:'about',
            path:'/about',
            component:AboutPage,
            meta:{isAuth:false}
        },
        {
            name:'home',
            path:'/home',
            component:HomePage,
            meta:{isAuth:false},
            children:[
                {
                    name:'news',
                    path:'news',
                    component:HomeNews,
                    meta:{isAuth:true}
                },
                {
                    name:'message',
                    path:'message',
                    component:HomeMessage,
                    children:[
                        {
                            name:'detail',
                            path:'detail',
                            // path:'detail/:id/:title',
                            component:DetailPage,
                            // props的第一种写法，值为对象，该对象中的所有key-value都会以props的形式传给Detail组件。
                            // props:{
                            //     a:1,
                            //     b:"hello",
                            // }
                            // props的第二种写法，值为布尔值，若布尔值为真，就会把该路由组件收到的所有params参数，以props的形式传给Detail组件。
                            // props:true
                            // props的函数写法
                            props($route){
                                return {
                                    id:$route.query.id,
                                    title:$route.query.title,
                                }
                            }
                        }
                    ]
                }
            ]
        },
    ]
})